
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_Hans">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Django 1.11.3 版本发行说明 &#8212; Django 3.2.11.dev 文档</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>
    <link rel="index" title="索引" href="../genindex.html" />
    <link rel="search" title="搜索" href="../search.html" />
    <link rel="next" title="Django 1.11.2 版本发行说明" href="1.11.2.html" />
    <link rel="prev" title="Django 1.11.4 版本发行说明" href="1.11.4.html" />



 
<script src="../templatebuiltins.js"></script>
<script>
(function($) {
    if (!django_template_builtins) {
       // templatebuiltins.js missing, do nothing.
       return;
    }
    $(document).ready(function() {
        // Hyperlink Django template tags and filters
        var base = "../ref/templates/builtins.html";
        if (base == "#") {
            // Special case for builtins.html itself
            base = "";
        }
        // Tags are keywords, class '.k'
        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
             var tagname = $(elem).text();
             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
                 var fragment = tagname.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
             }
        });
        // Filters are functions, class '.nf'
        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
             var filtername = $(elem).text();
             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
                 var fragment = filtername.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
             }
        });
    });
})(jQuery);</script>

  </head><body>

    <div class="document">
  <div id="custom-doc" class="yui-t6">
    <div id="hd">
      <h1><a href="../index.html">Django 3.2.11.dev 文档</a></h1>
      <div id="global-nav">
        <a title="Home page" href="../index.html">Home</a>  |
        <a title="Table of contents" href="../contents.html">Table of contents</a>  |
        <a title="Global index" href="../genindex.html">Index</a>  |
        <a title="Module index" href="../py-modindex.html">Modules</a>
      </div>
      <div class="nav">
    &laquo; <a href="1.11.4.html" title="Django 1.11.4 版本发行说明">previous</a>
     |
    <a href="index.html" title="发行说明" accesskey="U">up</a>
   |
    <a href="1.11.2.html" title="Django 1.11.2 版本发行说明">next</a> &raquo;</div>
    </div>

    <div id="bd">
      <div id="yui-main">
        <div class="yui-b">
          <div class="yui-g" id="releases-1.11.3">
            
  <div class="section" id="s-django-1-11-3-release-notes">
<span id="django-1-11-3-release-notes"></span><h1>Django 1.11.3 版本发行说明<a class="headerlink" href="#django-1-11-3-release-notes" title="永久链接至标题">¶</a></h1>
<p><em>2017 年 7 月 1 日</em></p>
<p>Django 1.11.3 修复了 1.11.2 中的几个漏洞。</p>
<div class="section" id="s-bugfixes">
<span id="bugfixes"></span><h2>漏洞修复<a class="headerlink" href="#bugfixes" title="永久链接至标题">¶</a></h2>
<ul class="simple">
<li>Removed an incorrect deprecation warning about a missing <code class="docutils literal notranslate"><span class="pre">renderer</span></code>
argument if a <code class="docutils literal notranslate"><span class="pre">Widget.render()</span></code> method accepts <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code>
(<a class="reference external" href="https://code.djangoproject.com/ticket/28265">#28265</a>).</li>
<li>Fixed a regression causing <code class="docutils literal notranslate"><span class="pre">Model.__init__()</span></code> to crash if a field has an
instance only descriptor (<a class="reference external" href="https://code.djangoproject.com/ticket/28269">#28269</a>).</li>
<li>Fixed an incorrect <code class="docutils literal notranslate"><span class="pre">DisallowedModelAdminLookup</span></code> exception when using
a nested reverse relation in <code class="docutils literal notranslate"><span class="pre">list_filter</span></code> (<a class="reference external" href="https://code.djangoproject.com/ticket/28262">#28262</a>).</li>
<li>Fixed admin's <code class="docutils literal notranslate"><span class="pre">FieldListFilter.get_queryset()</span></code> crash on invalid input
(<a class="reference external" href="https://code.djangoproject.com/ticket/28202">#28202</a>).</li>
<li>Fixed invalid HTML for a required <code class="docutils literal notranslate"><span class="pre">AdminFileWidget</span></code> (<a class="reference external" href="https://code.djangoproject.com/ticket/28278">#28278</a>).</li>
<li>Fixed model initialization to set the name of class-based model indexes
for models that only inherit <code class="docutils literal notranslate"><span class="pre">models.Model</span></code> (<a class="reference external" href="https://code.djangoproject.com/ticket/28282">#28282</a>).</li>
<li>Fixed crash in admin's inlines when a model has an inherited non-editable
primary key (<a class="reference external" href="https://code.djangoproject.com/ticket/27967">#27967</a>).</li>
<li>Fixed <code class="docutils literal notranslate"><span class="pre">QuerySet.union()</span></code>, <code class="docutils literal notranslate"><span class="pre">intersection()</span></code>, and <code class="docutils literal notranslate"><span class="pre">difference()</span></code> when
combining with an <code class="docutils literal notranslate"><span class="pre">EmptyQuerySet</span></code> (<a class="reference external" href="https://code.djangoproject.com/ticket/28293">#28293</a>).</li>
<li>Prevented <code class="docutils literal notranslate"><span class="pre">Paginator</span></code>’s unordered object list warning from evaluating a
<code class="docutils literal notranslate"><span class="pre">QuerySet</span></code> (<a class="reference external" href="https://code.djangoproject.com/ticket/28284">#28284</a>).</li>
<li>Fixed the value of <code class="docutils literal notranslate"><span class="pre">redirect_field_name</span></code> in <code class="docutils literal notranslate"><span class="pre">LoginView</span></code>’s template
context. It's now an empty string (as it is for the original function-based
<code class="docutils literal notranslate"><span class="pre">login()</span></code> view) if the corresponding parameter isn't sent in a request (in
particular, when the login page is accessed directly) (<a class="reference external" href="https://code.djangoproject.com/ticket/28229">#28229</a>).</li>
<li>Prevented attribute values in the <code class="docutils literal notranslate"><span class="pre">django/forms/widgets/attrs.html</span></code>
template from being localized so that numeric attributes (e.g. <code class="docutils literal notranslate"><span class="pre">max</span></code> and
<code class="docutils literal notranslate"><span class="pre">min</span></code>) of <code class="docutils literal notranslate"><span class="pre">NumberInput</span></code> work correctly (<a class="reference external" href="https://code.djangoproject.com/ticket/28303">#28303</a>).</li>
<li>Removed casting of the option value to a string in the template context of
the <code class="docutils literal notranslate"><span class="pre">CheckboxSelectMultiple</span></code>, <code class="docutils literal notranslate"><span class="pre">NullBooleanSelect</span></code>, <code class="docutils literal notranslate"><span class="pre">RadioSelect</span></code>,
<code class="docutils literal notranslate"><span class="pre">SelectMultiple</span></code>, and <code class="docutils literal notranslate"><span class="pre">Select</span></code> widgets (<a class="reference external" href="https://code.djangoproject.com/ticket/28176">#28176</a>). In Django
1.11.1, casting was added in Python to avoid localization of numeric values
in Django templates, but this made some use cases more difficult. Casting is
now done in the template using the <code class="docutils literal notranslate"><span class="pre">|stringformat:'s'</span></code> filter.</li>
<li>Prevented a primary key alteration from adding a foreign key constraint if
<code class="docutils literal notranslate"><span class="pre">db_constraint=False</span></code> (<a class="reference external" href="https://code.djangoproject.com/ticket/28298">#28298</a>).</li>
<li>Fixed <code class="docutils literal notranslate"><span class="pre">UnboundLocalError</span></code> crash in <code class="docutils literal notranslate"><span class="pre">RenameField</span></code> with nonexistent field
(<a class="reference external" href="https://code.djangoproject.com/ticket/28350">#28350</a>).</li>
<li>Fixed a regression preventing a model field's <code class="docutils literal notranslate"><span class="pre">limit_choices_to</span></code> from being
evaluated when a <code class="docutils literal notranslate"><span class="pre">ModelForm</span></code> is instantiated (<a class="reference external" href="https://code.djangoproject.com/ticket/28345">#28345</a>).</li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      
        
          <div class="yui-b" id="sidebar">
            
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Django 1.11.3 版本发行说明</a><ul>
<li><a class="reference internal" href="#bugfixes">漏洞修复</a></li>
</ul>
</li>
</ul>

  <h4>上一个主题</h4>
  <p class="topless"><a href="1.11.4.html"
                        title="上一章">Django 1.11.4 版本发行说明</a></p>
  <h4>下一个主题</h4>
  <p class="topless"><a href="1.11.2.html"
                        title="下一章">Django 1.11.2 版本发行说明</a></p>
  <div role="note" aria-label="source link">
    <h3>本页</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/releases/1.11.3.txt"
            rel="nofollow">显示源代码</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>快速搜索</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="转向" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    </div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
              <h3>Last update:</h3>
              <p class="topless">12月 07, 2021</p>
          </div>
        
      
    </div>

    <div id="ft">
      <div class="nav">
    &laquo; <a href="1.11.4.html" title="Django 1.11.4 版本发行说明">previous</a>
     |
    <a href="index.html" title="发行说明" accesskey="U">up</a>
   |
    <a href="1.11.2.html" title="Django 1.11.2 版本发行说明">next</a> &raquo;</div>
    </div>
  </div>

      <div class="clearer"></div>
    </div>
  </body>
</html>